package com.ruoyi.inventory.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 物资库存对象 material_inventory
 * 
 * @author ruoyi
 * @date 2025-05-07
 */
public class MaterialInventory extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 库存ID */
    private Long inventoryId;

    /** 物资ID */
    @Excel(name = "物资ID")
    private Long materialId;

    /** 当前库存数量 */
    @Excel(name = "当前库存数量")
    private Long currentStock;

    /** 最低库存警戒线 */
    @Excel(name = "最低库存警戒线")
    private Long minimumStockAlert;

    /** 入库日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inboundDate;

    /** 入库数量 */
    @Excel(name = "入库数量")
    private Long inboundQuantity;

    /** 出库日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出库日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outboundDate;

    /** 出库数量 */
    @Excel(name = "出库数量")
    private Long outboundQuantity;

    /** 备注信息 */
    @Excel(name = "备注信息")
    private String remarks;

    public void setInventoryId(Long inventoryId) 
    {
        this.inventoryId = inventoryId;
    }

    public Long getInventoryId() 
    {
        return inventoryId;
    }
    public void setMaterialId(Long materialId) 
    {
        this.materialId = materialId;
    }

    public Long getMaterialId() 
    {
        return materialId;
    }
    public void setCurrentStock(Long currentStock) 
    {
        this.currentStock = currentStock;
    }

    public Long getCurrentStock() 
    {
        return currentStock;
    }
    public void setMinimumStockAlert(Long minimumStockAlert) 
    {
        this.minimumStockAlert = minimumStockAlert;
    }

    public Long getMinimumStockAlert() 
    {
        return minimumStockAlert;
    }
    public void setInboundDate(Date inboundDate) 
    {
        this.inboundDate = inboundDate;
    }

    public Date getInboundDate() 
    {
        return inboundDate;
    }
    public void setInboundQuantity(Long inboundQuantity) 
    {
        this.inboundQuantity = inboundQuantity;
    }

    public Long getInboundQuantity() 
    {
        return inboundQuantity;
    }
    public void setOutboundDate(Date outboundDate) 
    {
        this.outboundDate = outboundDate;
    }

    public Date getOutboundDate() 
    {
        return outboundDate;
    }
    public void setOutboundQuantity(Long outboundQuantity) 
    {
        this.outboundQuantity = outboundQuantity;
    }

    public Long getOutboundQuantity() 
    {
        return outboundQuantity;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("inventoryId", getInventoryId())
            .append("materialId", getMaterialId())
            .append("currentStock", getCurrentStock())
            .append("minimumStockAlert", getMinimumStockAlert())
            .append("inboundDate", getInboundDate())
            .append("inboundQuantity", getInboundQuantity())
            .append("outboundDate", getOutboundDate())
            .append("outboundQuantity", getOutboundQuantity())
            .append("remarks", getRemarks())
            .toString();
    }
}
